export default function vitePluginRpx() {
  return {
    name: 'vite-plugin-rpx',
    transform(code, id) {
      if (!/\.(vue|html|css|scss|sass|less|styl|stylus)$/.test(id)) {
        return
      }
      
      // 处理样式文件中的 rpx
      if (/\.(css|scss|sass|less|styl|stylus)$/.test(id)) {
        return code.replace(/(\d+)rpx/g, (_, p1) => {
          const px = parseFloat(p1)
          return `${(px / 750) * 100}vw`
        })
      }
      
      // 处理 Vue 单文件组件和 HTML 文件中的内联样式
      return code.replace(/style="([^"]*)"/g, (match, styleContent) => {
        const transformed = styleContent.replace(/(\d+)rpx/g, (_, p1) => {
          const px = parseFloat(p1)
          return `${(px / 750) * 100}vw`
        })
        return `style="${transformed}"`
      })
    }
  }
}